package com.hbnu.iostream;

import java.io.*;

/**
 *需求：使用字节输出流往磁盘文件中写数据
 *
 * @author kittychen
 * @date 2025-10-11 上午 8:29
 */
public class OutputStreamDemo {
    public static void main(String[] args) {
        // 1、准备文件对象
        String path = "E:" + File.separator + "2310" + File.separator + "2310.txt";

        File file = new File(path);

        // 2、准备流资源
        OutputStream outputStream = null;
        try {
            outputStream = new FileOutputStream(file, true);   // 创建字节输出流对象，同时创建文件，参数true表示内容追加

            // 3、写数据
            String content = "\r\n今天8节课";
            byte[] bytes = content.getBytes();  // 因为选用的是字节流，所以需要将字符数据转为字节数据
            // outputStream.write(bytes);  // 将字节数组中的数据一次性写入到文件中
            for (byte aByte : bytes) {  // 将字节数组中的数据一个一个写入到文件中
                outputStream.write(aByte);
            }

            System.out.println("文件写入成功！");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 4、关闭资源
            try {
                if (outputStream != null) {
                    outputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
